USE [GD1C2012]
GO

CREATE TABLE TEQUILASO.USUARIO
(
	Id int NOT NULL identity(1,1),
	Nombre varchar(255) NOT NULL,
	Password varchar(255) NOT NULL,
	Habilitado bit NOT NULL,
	Id_Rol int NOT NULL,
	PRIMARY KEY (Id),
	FOREIGN KEY (Id_Rol) REFERENCES TEQUILASO.ROL(Id),	
)
GO

insert into TEQUILASO.USUARIO(Nombre, Password, Habilitado, Id_Rol)
values	('admin','e6b87050bfcb8143fcb8db0170a4dc9ed00d904ddd3e2a4ad1b1e8dc0fdc9be7',1,1)



--SP Obtencion de usuario por DNI
CREATE PROCEDURE TEQUILASO.sp_obtenerUsuarioPorId
	@Id int
AS
BEGIN
	select U.Id, U.Nombre, U.Password, U.Habilitado, U.Id_Rol from TEQUILASO.Usuario as U					
	where U.Id = @Id		
END
GO


CREATE PROCEDURE TEQUILASO.sp_altaUsuario
	@Nombre varchar(255),
	@Password varchar(255),
	@Habilitado bit,
	@Id_Rol int
AS
BEGIN
		begin
			insert into TEQUILASO.Usuario (Nombre, Password, Habilitado, Id_Rol)
			values(@Nombre, @Password, @Habilitado, @Id_Rol)
			Declare @Id int
				Select	@Id = scope_identity()		
				Execute TEQUILASO.sp_obtenerUsuarioPorId @Id
		end		
END
GO

CREATE PROCEDURE TEQUILASO.sp_buscarUsuario
	@Nombre varchar(255),
AS
BEGIN
	select U.Id, U.Nombre, U.Password, U.Habilitado, C.Id_Rol from TEQUILASO.usuario as U					
	where 
		C.Nombre like '%' + isnull(@Nombre, C.Nombre) + '%'
END
GO

CREATE PROCEDURE TEQUILASO.sp_bajaUsuario
	@Id int
AS
BEGIN
	delete from tequilaso.usuario where id = @id
END
Go

CREATE PROCEDURE TEQUILASO.sp_modificarUsuario
	@Id int,
	@Nombre varchar(255),
	@Password varchar(255),
	@Habilitado bit,
	@Id_Rol int
AS
BEGIN
	update TEQUILASO.USUARIO set	
		Nombre = @Nombre,
		Password = @Password,
		Habilitado = @Habilitado						
		Id_Rol = @Id_Rol
	where Id = @Id
END
GO